CodePipeline のパイプライン作成時に既存のロールを選択しているにもかかわらず、iam:CreateRole の権限が必要な理由を教えてください
困っていた内容
PowerUserAccess
を付与したユーザーが CodePipeline のパイプラインを作成しようとしたところ、iam:CreateRole
の権限がないためエラーになりました。
パイプライン作成時に既存のロールを選択すれば iam:CreateRole
の権限は不要だと認識していたのですが、iam:CreateRole
の権限が必要な理由を教えてください
どう対応すればいいの?
マネジメントコンソールからパイプラインを作成する際には、EventBridge のサービスロールも自動的に作成されるため、iam:CreateRole
の権限が必要です。
マネジメントコンソールからパイプラインを作成する際、ソースの設定において「検出オプションを変更する」という項目があり、デフォルトでは Amazon CloudWatch Events が推奨設定として選択されています。
Amazon CloudWatch Events を選択した状態でパイプラインを作成すると、パイプライン作成時に自動的に EventBridge ルールおよび、EventBridge のサービスロールが作成されます。
この時、iam:CreateRole
の権限が必要なため、PowerUserAccess
ではエラーが発生します。
回避方法としては、iam:CreateRole
の権限を付与する方法をご検討ください。
なお、検出オプションから AWS CodePipeline
を選択することも可能ですが、AWS 公式ドキュメントでは Amazon CloudWatch Events を使用することが推奨されています。
Initially, only polling was supported. Events are now the default and recommended way to start your pipeline when there’s a code change.